<template>
  <div id="withdraw_verify" class="withdraw_verify">
    <assets-head />
    <div class="content">
      <div class="title textColor">{{ $t('安全验证') }}</div>
      <p>{{ $t('请输入资金密码') }}</p>
      <div class="iptbox inputBackground">
        <input class="inputBackground textColor" type="password" :placeholder="$t('请输入密码')" v-model="password">
      </div>
      <div class="mt-40" v-if="this.isGoogleInput">
        <p>{{ $t('请输入谷歌验证码') }}</p>
        <div class="iptbox inputBackground">
          <input class="inputBackground textColor" type="password" :placeholder="$t('请输入谷歌验证码')" v-model="googleCode">
        </div>
      </div>
      <div class="btn btnMain" @click="confirm">{{ $t('提交') }}</div>
      <div class="mt-42" style="color:#1D91FF;" ><span @click="$router.push('/resetVerify?type=0')">{{ $t('资金密码不可用?') }}</span>
      </div>
    </div>
  </div>
</template>

<script>
import assetsHead from "@/components/assets-head";
import {Form, Field, CellGroup} from 'vant';
import AxiosWithdraw from "@/API/withdraw.js"
import otcApi from "@/API/otc";
import AxiosUser from "@/API/userCenter";

export default {
  name: "withdrawalSecurityVerification",
  props: ['type'],
  components: {
    assetsHead,
    [Form.name]: Form,
    [Field.name]: Field,
    [CellGroup.name]: CellGroup,
  },
  data() {
    return {
      password: '',
      data: null,
      sessionToken:'',
      googleCode:'',
      isGoogleInput:false
    }
  },
  created() {
    AxiosUser._getIsGoogleAuth({code:'google_auth_secret_open'}).then(res=>{
      this.isGoogleInput=res.data.google_auth_secret_open==='1'
    })
    this.data = this.$route.query
    this.getToken()
  },
  methods: {
    getToken() {
      AxiosWithdraw.GetSessionToken().then((res) => {
        this.sessionToken = res.data.session_token;
      });
    },
    onSubmit(values) {
      console.log('submit', values);
    },
    confirm(data) {
      if (this.type === 'sell' || this.type === 'buy') {
        if (!this.password) {
          this.$toast(this.$t('请输入资金密码'));
          return
        } else {
          if (this.type === 'buy'){
            otcApi.ctcOrderPayFinish({ order_no: this.$store.state.c2c.order_no, safe_password: this.password }).then((res) => {
              if (res.code / 1 === 0) {
                this.$router.push({ path: "/paymentDetail" });
              }
            })
          }else{
            otcApi.ctcOrderPass({
              order_no: this.$store.state.c2c.order_no,
              safe_password: this.password,
            }).then((res) => {
              this.isLoading = false;
              this.$router.replace({
                path: "/tradeSuccessSell",
              });
            });
          }
          
        }
      } else {
        if (!this.password) {
          this.$toast(this.$t('请输入资金密码'));
          return
        }
        if(this.isGoogleInput){
          if (!this.googleCode) {
            this.$toast(this.$t('请输入谷歌验证码'));
            return
          }
        }
        AxiosWithdraw.WithdrawApply({
          session_token: this.sessionToken,
          amount: this.data.amount,
          from: this.data.from,
          safeword: this.password,
          channel: this.data.channel,
          googleCode:this.googleCode
        }).then((res) => {
          if (res.code == 0) {
            this.$router.push({
              path: "/withdraw/withdrawSumbit"
            });
          } else {
            this.getToken()
          }
        }).catch(err => {
          //console.log(err)
          if (err.code == 105) {
            this.$toast(this.$t('当前还需交易%s,才可提币', { 'MONEY': err.msg }));
          } else if (err.code === 'ECONNABORTED') {
            this.$toast(this.$t('网络超时！'))
          } else if (err.msg !== undefined) {
            this.$toast(this.$t(err.msg))
          }
          this.getToken()          
        })
      }
    }
  }
}
</script>

<style lang="scss" scoped>


.withdraw_verify {
  width: 100%;
  box-sizing: border-box;
}

.cl {
  color: dodgerblue;
}

.title {
  font-weight: 700;
  font-size: 52px;
  margin-top: 54px;
  margin-bottom: 56px;
}

.content {
  padding: 0 32px;

  p {
    color: #868D9A;
    font-size: 30px;
    margin-bottom: 18px;
  }

  .iptbox {
    height: 88px;
    margin-top: 16px;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 8px;

    input {
      flex: 1;
      height: 100%;
      border: none;
    }

    span {
      color: #1D91FF;
    }
  }
}

.btn {
  color: #fff;
  height: 88px;
  line-height: 88px;
  text-align: center;
  font-size: 32px;
  margin-top: 178px;
  border-radius: 10px;
}
</style>